package IOStream.Exercise001;

import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Arrays;

/**
 * ClassName:Exercise004
 * Package:IOStream.Exercise
 * Description:
 *
 * @Author:ZhangXin
 * @Create2023/3/2-18:15
 * @Version:v1.0
 */
public class Exercise004 {
    /**
     * 修改文件中的数据
     * <p>
     * <p>
     * 文本文件中有以下数据：
     * 2-1-9-4-7-8
     * 将文件中的数据进行排序,变成以下数据
     * 1-2-4-7-8-9
     */
    public static void main(String[] args) throws IOException {
        //1.读取文件中数据
        FileReader fr = new FileReader("E:\\aaa\\d.txt");
        StringBuilder sb = new StringBuilder();
        int ch;
        while ((ch = fr.read()) != -1) {
            sb.append((char) ch);
        }
        fr.close();
        System.out.println(sb);
        //排序

//        Arrays.stream(sb.toString()
//                .split("-"))
//                .map(new Function<String,Integer>() {
//                    @Override
//                    public Integer apply(String s) {
//                        return Integer.parseInt(s);
//                    }
//                })
        Integer[] arr = Arrays.stream(sb.toString().split("-"))
                .map(Integer::parseInt).sorted()
                .toArray(Integer[]::new);
        System.out.println(Arrays.toString(arr));

        //写出
        FileWriter fw = new FileWriter("E:\\aaa\\dd.txt");
        String s= Arrays.toString(arr).replace(","," -");
        String result = s.substring(1, s.length() - 1);
        System.out.println(result);
        fw.write(result);
        fw.close();

    }
}
